package com.shuda.business.data.service;

import com.shuda.business.data.dto.DataProcessingEngineDTO;
import com.shuda.business.data.dto.DataProcessingEngineQueryDTO;
import com.shuda.common.dto.PageDTO;
import com.shuda.common.dto.PageResult;

/**
 * 数据处理引擎服务接口
 */
public interface DataProcessingEngineService {

    /**
     * 撞库检测
     */
    Boolean collisionCheck(Long dataId);

    /**
     * 进件处理
     */
    Boolean processData(Long dataId);

    /**
     * 获取字段映射配置分页列表
     */
    PageResult<DataProcessingEngineDTO> getFieldMappingPage(PageDTO pageDTO, DataProcessingEngineQueryDTO queryDTO);

    /**
     * 获取字段映射配置详情
     */
    DataProcessingEngineDTO getFieldMappingById(Long id);

    /**
     * 创建字段映射配置
     */
    Long createFieldMapping(DataProcessingEngineDTO dto);

    /**
     * 更新字段映射配置
     */
    void updateFieldMapping(Long id, DataProcessingEngineDTO dto);

    /**
     * 删除字段映射配置
     */
    void deleteFieldMapping(Long id);

    /**
     * 获取脚本配置
     */
    String getScriptConfig(Long channelId);

    /**
     * 保存脚本配置
     */
    void saveScriptConfig(Long channelId, String scriptConfig);
}